﻿using System;
using Microsoft.Xna.Framework;

namespace Narwhunderful.Aphelia.Framework.UI
{

    public interface IUIComponent
    {

        event EventHandler<EventArgs> GotFocus;
        event EventHandler<EventArgs> LostFocus;

        HUD HUD { get; }
        string Name { get; set; }
        Vector2 ActualLocation { get; }
        Rectangle ScissorRectangle { get; }
        UIComponent Parent { get; }
        UIScreen ParentScreen { get; }
        bool CanFocus { get; set; }
        bool IsFocused { get; }
        int BorderWidth { get; set; }
        Color BorderColor { get; set; }
        bool BorderIsVisible { get; set; }

        void Focus();
        void LoseFocus();

    }

}
